A middlebox is a network appliance that manipulates Internet traffic by optimizing data flow across the network. Middleboxes can be configured as wide area network (WAN) optimizers and can be deployed in pairs across two geographically separated locations to optimize data traffic between the two middleboxes. Middleboxes that perform WAN optimization and virtualization work as a pair of device across two geographically separated offices connected via multiple links of different WAN networks. A middlebox (e.g., an appliance) can tunnel packets across multiple links to other middleboxes to aggregate bandwidth and also to provide compression benefits. To provide compression benefits, packets are held in one appliance, with the data part of the packet being accumulated and compressed via normal compression techniques or through data duplication, and the compressed data being sent on the other side appliance.
For jitter sensitive applications (e.g., real-time service applications, streaming service applications, or video clip applications), it is difficult to provide compression benefits. For example, to provide compression, an appliance accumulates packets for compression, which could forcefully induce jitter into the connection. Since packet flow has to be paused for a certain amount of time to accumulate packets for the compression, jitter could be induced into the connection. This can drastically affect performance of the connection, especially for jitter-sensitive applications that are designed against packet jitter. Hence, these jitter sensitive applications are generally not compressed for performance reason.